Printers receive print data from a source, such as a single host computer or from a network that contains at least one host computer or network server. One recent development with respect to laser printers is the addition of a "memory option," which is an internal memory device such as flash RAM (Random Access Memory) or a hard disc drive, in which each type of memory can store files containing printed data. In some conventional printers, the memory device (e.g., hard disk) is of a sufficient size to store many print jobs at one time. Moreover, the "normal" temporary memory storage device (i.e., typically volatile RAM) used to store incoming print jobs may also be of a sufficient size to store many print jobs at one time, even as the printer is in the process of printing an earlier-received print job.
Another recent development with respect to laser printers is the use of a network adapter that allows bi-directional communication with host computers over the network. Such bi-directional communication would typically be made using a protocol known as the Network Printer Alliance Protocol (NPAP) which provides a means for returning status information from a laser printer to a host computer. The NPAP and bi-directional capabilities and memory storage capabilities of such laser printers, particularly the Lexmark Model 4039 Plus.TM. and Model OPTRA.TM., manufactured by Lexmark International, Inc., are quite broad. Details of the published Network Printer Alliance Protocol are contained in the NPAP Specification Level 1, Revision N, dated Feb. 11, 1994. This NPAP Specification is incorporated herein by reference.
In typical desktop personal computer (PC) environments, print jobs are submitted (via either a direct connection or via a network) to a printer that contains sufficient memory to accept more than one entire print job, and by using this capability, a quick "screen release" is achieved. The term "screen release" represents the concept that, once a print job is accepted by a printer, the desk top PC is "released" by that printer, and the PC is no longer waiting for the printer to continue accepting the data. Until conventional printers accept all of the data for a particular print job from the host computer (i.e., the PC), the host computer can be unusable by its human user ("locked up") until the active printing session is complete. An active printing session becomes "complete" generally when the print job has been completely accepted by the printer. At that time, the printer's hardware communicates to the host PC's hardware that the job has been accepted.
The desire to achieve a quick screen release has produced various solutions in the printer field of art. One conventional solution is to implement a "print spooler" in various operating systems, including PC operating systems (e.g., Microsoft Windows 95.TM., IBM OS/2.TM.), as well as network operating systems (e.g., Novell Netware.TM., and IBM LAN Server.TM.). Another conventional solution is to add more memory to the printers so as to allow the printers to completely accept various print jobs long before they are physically printed.
Print spoolers typically have a user interface at the host computer that allows the human user to "view" the state of the print jobs that have been submitted for printing. While a particular print job remains in the queue, most conventional PC print spoolers have the ability to "cancel" such print jobs, and in some products, there is also the ability to change the order in which the jobs will be printed. However, once a particular print job leaves the queue at a conventional host computer (by being communicated to the selected printer, e.g., over a network), the host computer no longer has control over the disposition of that print job. In other words, once the print job leaves the queue at the host computer and is transferred to a conventional printer, that print job cannot be "intercepted" by the host computer, even though it may be residing in the printer's queue for some considerable time before being printed.